package com.platform.modules.sms;

import com.platform.common.exception.BusinessException;
import com.platform.modules.sms.entitys.SmsTemplateEntity;

/**
 * 短信发送基础接口
 */
public interface ISmsSend {

    /**
     * 发送短信
     */
    void sendSms(SmsSend smsSend);

    /**
     * 构建短信发送辅助类
     *
     * @param phone
     * @param userId
     * @param params 其他参数（可以为空）
     * @return
     */
    SmsSend build(String phone, String userId, Object params);

    /**
     * 构建短信发送辅助类
     *
     * @param phone
     * @return
     */
    default SmsSend build(String phone){
        return build(phone,null,null);
    }

    /**
     * 获取短信发送模板
     *
     * @param configId
     * @return
     */
    default SmsTemplateEntity getTemplate(String configId) {
        throw new BusinessException("短信模板获取失败！");
    }

}
